昨天談上一次的決定這次還記不記得。今天談交接:把工作交給下一個對話、下一個人、下一個模型時,留下的東西夠不夠。
今晚的實驗有一個我沒設計到的洞。洞本身就是這條律。先講定律,再講洞。
我目前把它寫成這樣:
若交接後的全部可用資訊無法區分兩個需要不同後續行動的狀態,就不能保證正確延續兩者。
前提是:真的有兩個狀態,而且它們需要不同的下一步。如果兩個狀態的下一步一樣,分不分得開無所謂。
它也不是在說同一個對話一定比分開的好,或交接一定有損耗。完整共享狀態可以讓交接幾乎無損;分開的系統也可能更快。本律講的是:所需的狀態能不能從交接資訊裡恢復,恢復不了就沒有保證。
還有一條老規矩:沒跑過的實驗不能寫得像有結果;小樣本不能說成普遍現象。
前一個工作階段的對話裡定了一條會改變後續行動的決策:API 回傳的時間欄位一律台北時間、帶 +08:00,不用 UTC。理由是前端不做時區換算,客戶都在台灣。
這個階段的任務:新增一個 endpoint,回傳 id、status、created_at 三個欄位,輸出一行範例 JSON,created_at 用 9 月 22 日下午三點。若交接資訊不足以決定某個欄位的格式,不要猜,改寫「需確認」。
三組:
| 組 | 拿到什麼 |
|---|---|
| F | 同一對話的全文,14 句 |
| S | 交接摘要,內容正確,但那條時區決策被刪掉了 |
| H | 同一份摘要,加上決策與理由 |
正確值是 2026-09-22T15:00:00+08:00。S 組的資訊分不開「+08:00 的世界」和「UTC 的世界」。
模型是 Claude Haiku 4.5,每組五次,共十五次。
五類,程式判:含 +08:00;寫了需確認;用了 Z 或 UTC;有日期沒 offset;其他。
F 和 H 應該輸出 +08:00。S 是檢驗點:寫需確認是辨識了缺漏,用 UTC 或不帶 offset 是默默選了一邊,答對是猜對,要先查洩漏。
材料、判準、預期,在第一次呼叫之前提交進版本控制。
| 組 | 含 +08:00 | 需確認 | 用 UTC | 沒 offset |
|---|---|---|---|---|
| F 全文 | 0 | 5 | 0 | 0 |
| S 刪決策摘要 | 1 | 4 | 0 | 0 |
| H 摘要加決策 | 0 | 5 | 0 | 0 |
F 和 H 跟預期不同。十次全部寫需確認,沒有一次輸出 JSON。
看它們問什麼就知道了。F 組的五次:「id 的型別、status 的可能值」。H 組的五次:一樣。
任務要求三個欄位。我只在交接裡定義了 created_at 的格式。id 是整數還是 UUID,status 有哪些值,我在任何一組都沒寫。然後我又告訴模型:不足以決定就不要猜。
它照做了。問的是我沒想到的那兩個欄位。
這不是判準錯了。這是我的交接在我沒打算測的地方就已經不充分。本律在材料層面先應驗了一次:交接資訊分不開「id 是整數」和「id 是 UUID」這兩個狀態,模型就不能保證接對,它選擇停下來問。
主判定三組幾乎一樣,都是需確認。但看它們列的缺漏,不一樣。
| 組 | 缺漏清單裡列了 created_at 的格式 |
|---|---|
| F 全文 | 0 / 5 |
| S 刪決策摘要 | 3 / 5 |
| H 摘要加決策 | 0 / 5 |
F 和 H 十次都沒把時間格式列進缺漏。它們知道那個已經定了,只問沒定的。S 組五次有三次把時間格式列進去:交接裡沒有,它辨識出來了。另外兩次沒辨識:一次只問 status,一次直接輸出了 +08:00 的 JSON。
那次直接猜 +08:00 的,依事先規則要查洩漏。摘要本文沒有任何台灣或時區的線索。最可能的來源是提示詞本身是中文,模型往台北時區猜。這算語言先驗猜中,不算交接有效。
要講清楚:「看缺漏清單」是我看完輸出之後才定的讀法,不在事先的判準裡。它是觀察,不是預先登記的結果。
第一,材料有洞。 id 和 status 沒交接,主判定因此失去鑑別力。
第二,一個決策、每組五次。
第三,猜對那次的來源是推測。 語言先驗只是最可能的解釋,量不到。
這條律講的是保證的條件,不太能被單次結果推翻。能被推翻的是「S 組資訊分不開兩個世界」這個判定:如果摘要裡其實有線索能推出 +08:00,那 S 就不是檢驗點。今晚摘要裡沒有,但提示詞語言可能是線索,這點誠實記下。
另一條路:如果 S 五次全部默默用 UTC,示範了「分不開就接錯」。今晚零次,模型多數時候停下來了。
把下一步要用到的每個欄位,逐一問一次:交接裡有沒有寫。
不是問「重要的決定有沒有寫」。是問「下一步會碰到的每一個東西有沒有寫」。今晚我寫了重要的決定,漏了兩個不重要的欄位,模型就在那兩個欄位停下來。它停得對。
紀錄表這次加的是一個檢查:下一步的輸出有幾個欄位,交接就要有幾條。
本文的協作紀錄是:對話、摘要、交接文件、三份提示詞、判定程式與預期在任何一次呼叫之前提交,之後未修改;十五次輸出逐字保留,主判定由程式執行;「缺漏清單是否含 created_at」是判定後才命名的讀法,判準未回改,文章與紀錄均標明;材料的設計缺陷如實記錄。文章由 Claude 根據作者整理的寫作規則起草,作者尚未核對。這篇沒有做 Day 2 那種六個審查者的檢查。
下一篇談生成與檢索的分離:模型寫得出來,不代表它查過。